#ifndef Drv_ListMK_h
#define Drv_ListMK_h

#include <sys/systm.h>
#include <sys/vnode.h>
#include <sys/file.h>
#include <sys/kern_control.h>
#include <mach-o/loader.h>
#include <libkern/OSMalloc.h>

/*
 *  FireWallList.h
 *  FireWall
 *
 *  Created by Admin on 8/01/13.
 *  Copyright (c) 2013 Admin. All rights reserved.
 *
 */


#define mkSize 16
#define readBuff 4096

typedef uint8_t value_t; 


struct list *new_list(void) ;
struct li* new_list_item(void) ;
void delete_items(struct li* it) ;
void delete_list(struct list *l);
int insert_item( struct list *l,  value_t value[] );
int insert_item_uniq( struct list *l,/* mkey_t key,*/ char path[] );
int delete_item( struct list *l,char path[] );
void print_list ( struct list *l );
void writeMagicKey(char path[], value_t blockKey[]);
boolean_t find_item( struct list *l, value_t value[]) ;
boolean_t foo(value_t arg1[],uint8_t arg2[]);

struct li {
    OSMallocTag tag;
    
    value_t value[16];
    struct li* next;
};

struct list {
    OSMallocTag tag;
    struct li *first;
    int size;
};


#endif
